using System.Data;
using Crosland.Offline.Core;
using Crosland.Framework.Base;

namespace Crosland.Offline.Data.Helper
{

    public class VehiculoHelper : DaoHelperBase
    {
        public VehiculoHelper() : base(Entidad, ConstansBase.Aplicacion) 
        {
        }

        public Vehiculo Create(IDataReader dr)
        {
            Vehiculo entity = new Vehiculo();

            int iVguid = dr.GetOrdinal(this.Vguid);
            if (!dr.IsDBNull(iVguid)) entity.ID = dr.GetString(iVguid);

            int iVhcle = dr.GetOrdinal(this.Vhcle);
            if (!dr.IsDBNull(iVhcle)) entity.Vhcle = dr.GetString(iVhcle);

            int iMatnr = dr.GetOrdinal(this.Matnr);
            if (!dr.IsDBNull(iMatnr)) entity.Matnr = dr.GetString(iMatnr);

            int iEqunr = dr.GetOrdinal(this.Equnr);
            if (!dr.IsDBNull(iEqunr)) entity.Equnr = dr.GetString(iEqunr);

            int iWerks = dr.GetOrdinal(this.Werks);
            if (!dr.IsDBNull(iWerks)) entity.Werks = dr.GetString(iWerks);

            int iLgort = dr.GetOrdinal(this.Lgort);
            if (!dr.IsDBNull(iLgort)) entity.Lgort = dr.GetString(iLgort);

            int iMmsta = dr.GetOrdinal(this.Mmsta);
            if (!dr.IsDBNull(iMmsta)) entity.Mmsta = dr.GetString(iMmsta);

            int iSdsta = dr.GetOrdinal(this.Sdsta);
            if (!dr.IsDBNull(iSdsta)) entity.Sdsta = dr.GetString(iSdsta);

            int iKunnr = dr.GetOrdinal(this.Kunnr);
            if (!dr.IsDBNull(iKunnr)) entity.Kunnr = dr.GetString(iKunnr);

            int iVhvin = dr.GetOrdinal(this.Vhvin);
            if (!dr.IsDBNull(iVhvin)) entity.Vhvin = dr.GetString(iVhvin);

            int iVhcex = dr.GetOrdinal(this.Vhcex);
            if (!dr.IsDBNull(iVhcex)) entity.Vhcex = dr.GetString(iVhcex);

            int iAvail = dr.GetOrdinal(this.Avail);
            if (!dr.IsDBNull(iAvail)) entity.Avail = dr.GetString(iAvail);

            int iVblty = dr.GetOrdinal(this.Vblty);
            if (!dr.IsDBNull(iVblty)) entity.Vblty = dr.GetString(iVblty);

            int iLoctn = dr.GetOrdinal(this.Loctn);
            if (!dr.IsDBNull(iLoctn)) entity.Loctn = dr.GetString(iLoctn);

            int iVhusg = dr.GetOrdinal(this.Vhusg);
            if (!dr.IsDBNull(iVhusg)) entity.Vhusg = dr.GetString(iVhusg);

            int iCmpgn = dr.GetOrdinal(this.Cmpgn);
            if (!dr.IsDBNull(iCmpgn)) entity.Cmpgn = dr.GetString(iCmpgn);

            int iZzfechaArribo = dr.GetOrdinal(this.ZzfechaArribo);
            if (!dr.IsDBNull(iZzfechaArribo)) entity.ZzfechaArribo = dr.GetDateTime(iZzfechaArribo);

            int iZzfechaEmbarque = dr.GetOrdinal(this.ZzfechaEmbarque);
            if (!dr.IsDBNull(iZzfechaEmbarque)) entity.ZzfechaEmbarque = dr.GetDateTime(iZzfechaEmbarque);

            int iZzreferenciaEmb = dr.GetOrdinal(this.ZzreferenciaEmb);
            if (!dr.IsDBNull(iZzreferenciaEmb)) entity.ZzreferenciaEmb = dr.GetString(iZzreferenciaEmb);

            int iZzfecEmbarqEst = dr.GetOrdinal(this.ZzfecEmbarqEst);
            if (!dr.IsDBNull(iZzfecEmbarqEst)) entity.ZzfecEmbarqEst = dr.GetDateTime(iZzfecEmbarqEst);

            int iZzfecArriboEst = dr.GetOrdinal(this.ZzfecArriboEst);
            if (!dr.IsDBNull(iZzfecArriboEst)) entity.ZzfecArriboEst = dr.GetDateTime(iZzfecArriboEst);

            int iZzcolor = dr.GetOrdinal(this.Zzcolor);
            if (!dr.IsDBNull(iZzcolor)) entity.Zzcolor = dr.GetString(iZzcolor);

            int iZzcolorDesc = dr.GetOrdinal(this.ZzcolorDesc);
            if (!dr.IsDBNull(iZzcolorDesc)) entity.ZzcolorDesc = dr.GetString(iZzcolorDesc);

            int iZzpais = dr.GetOrdinal(this.Zzpais);
            if (!dr.IsDBNull(iZzpais)) entity.Zzpais = dr.GetString(iZzpais);

            int iZzpaisDesc = dr.GetOrdinal(this.ZzpaisDesc);
            if (!dr.IsDBNull(iZzpaisDesc)) entity.ZzpaisDesc = dr.GetString(iZzpaisDesc);

            int iZzanofab = dr.GetOrdinal(this.Zzanofab);
            if (!dr.IsDBNull(iZzanofab)) entity.Zzanofab = dr.GetString(iZzanofab);

            int iZzdepNumPedido = dr.GetOrdinal(this.ZzdepNumPedido);
            if (!dr.IsDBNull(iZzdepNumPedido)) entity.ZzdepNumPedido = dr.GetString(iZzdepNumPedido);

            int iZzfecpdepnum = dr.GetOrdinal(this.Zzfecpdepnum);
            if (!dr.IsDBNull(iZzfecpdepnum)) entity.Zzfecpdepnum = dr.GetDateTime(iZzfecpdepnum);

            int iZzdepfecguiain = dr.GetOrdinal(this.Zzdepfecguiain);
            if (!dr.IsDBNull(iZzdepfecguiain)) entity.Zzdepfecguiain = dr.GetDateTime(iZzdepfecguiain);

            int iZzfecduanum = dr.GetOrdinal(this.Zzfecduanum);
            if (!dr.IsDBNull(iZzfecduanum)) entity.Zzfecduanum = dr.GetDateTime(iZzfecduanum);

            int iZzdepcodageadu = dr.GetOrdinal(this.Zzdepcodageadu);
            if (!dr.IsDBNull(iZzdepcodageadu)) entity.Zzdepcodageadu = dr.GetString(iZzdepcodageadu);

            int iZzmotor = dr.GetOrdinal(this.Zzmotor);
            if (!dr.IsDBNull(iZzmotor)) entity.Zzmotor = dr.GetString(iZzmotor);

            int iZzcaja = dr.GetOrdinal(this.Zzcaja);
            if (!dr.IsDBNull(iZzcaja)) entity.Zzcaja = dr.GetString(iZzcaja);

            int iZzcategoria = dr.GetOrdinal(this.Zzcategoria);
            if (!dr.IsDBNull(iZzcategoria)) entity.Zzcategoria = dr.GetString(iZzcategoria);

            int iZzmarca = dr.GetOrdinal(this.Zzmarca);
            if (!dr.IsDBNull(iZzmarca)) entity.Zzmarca = dr.GetString(iZzmarca);

            int iZzversion = dr.GetOrdinal(this.Zzversion);
            if (!dr.IsDBNull(iZzversion)) entity.Zzversion = dr.GetString(iZzversion);

            int iZzanoModelo = dr.GetOrdinal(this.ZzanoModelo);
            if (!dr.IsDBNull(iZzanoModelo)) entity.ZzanoModelo = dr.GetDecimal(iZzanoModelo);

            int iZzcombustible = dr.GetOrdinal(this.Zzcombustible);
            if (!dr.IsDBNull(iZzcombustible)) entity.Zzcombustible = dr.GetString(iZzcombustible);

            int iZzcilindrada = dr.GetOrdinal(this.Zzcilindrada);
            if (!dr.IsDBNull(iZzcilindrada)) entity.Zzcilindrada = dr.GetString(iZzcilindrada);

            int iZzforRodante = dr.GetOrdinal(this.ZzforRodante);
            if (!dr.IsDBNull(iZzforRodante)) entity.ZzforRodante = dr.GetString(iZzforRodante);

            int iZzlongitud = dr.GetOrdinal(this.Zzlongitud);
            if (!dr.IsDBNull(iZzlongitud)) entity.Zzlongitud = dr.GetDecimal(iZzlongitud);

            int iZzancho = dr.GetOrdinal(this.Zzancho);
            if (!dr.IsDBNull(iZzancho)) entity.Zzancho = dr.GetDecimal(iZzancho);

            int iZzaltura = dr.GetOrdinal(this.Zzaltura);
            if (!dr.IsDBNull(iZzaltura)) entity.Zzaltura = dr.GetDecimal(iZzaltura);

            int iZzpesoNeto = dr.GetOrdinal(this.ZzpesoNeto);
            if (!dr.IsDBNull(iZzpesoNeto)) entity.ZzpesoNeto = dr.GetDecimal(iZzpesoNeto);

            int iZznumAsiento = dr.GetOrdinal(this.ZznumAsiento);
            if (!dr.IsDBNull(iZznumAsiento)) entity.ZznumAsiento = dr.GetDecimal(iZznumAsiento);

            int iZznumPasajero = dr.GetOrdinal(this.ZznumPasajero);
            if (!dr.IsDBNull(iZznumPasajero)) entity.ZznumPasajero = dr.GetDecimal(iZznumPasajero);

            int iZztipCarrocer = dr.GetOrdinal(this.ZztipCarrocer);
            if (!dr.IsDBNull(iZztipCarrocer)) entity.ZztipCarrocer = dr.GetString(iZztipCarrocer);

            int iZzpotencia = dr.GetOrdinal(this.Zzpotencia);
            if (!dr.IsDBNull(iZzpotencia)) entity.Zzpotencia = dr.GetString(iZzpotencia);

            int iZznumRuedas = dr.GetOrdinal(this.ZznumRuedas);
            if (!dr.IsDBNull(iZznumRuedas)) entity.ZznumRuedas = dr.GetDecimal(iZznumRuedas);

            int iZzpesoBruto = dr.GetOrdinal(this.ZzpesoBruto);
            if (!dr.IsDBNull(iZzpesoBruto)) entity.ZzpesoBruto = dr.GetDecimal(iZzpesoBruto);

            int iZzcargaUtil = dr.GetOrdinal(this.ZzcargaUtil);
            if (!dr.IsDBNull(iZzcargaUtil)) entity.ZzcargaUtil = dr.GetDecimal(iZzcargaUtil);

            int iZzworkOrder = dr.GetOrdinal(this.ZzworkOrder);
            if (!dr.IsDBNull(iZzworkOrder)) entity.ZzworkOrder = dr.GetString(iZzworkOrder);

            int iZznumCilindro = dr.GetOrdinal(this.ZznumCilindro);
            if (!dr.IsDBNull(iZznumCilindro)) entity.ZznumCilindro = dr.GetDecimal(iZznumCilindro);

            int iZzmodelo = dr.GetOrdinal(this.Zzmodelo);
            if (!dr.IsDBNull(iZzmodelo)) entity.Zzmodelo = dr.GetString(iZzmodelo);

            int iZzmarcaCarroc = dr.GetOrdinal(this.ZzmarcaCarroc);
            if (!dr.IsDBNull(iZzmarcaCarroc)) entity.ZzmarcaCarroc = dr.GetString(iZzmarcaCarroc);

            int iZztransmision = dr.GetOrdinal(this.Zztransmision);
            if (!dr.IsDBNull(iZztransmision)) entity.Zztransmision = dr.GetString(iZztransmision);

            int iZzitem = dr.GetOrdinal(this.Zzitem);
            if (!dr.IsDBNull(iZzitem)) entity.Zzitem = dr.GetDecimal(iZzitem);

            int iZzclase = dr.GetOrdinal(this.Zzclase);
            if (!dr.IsDBNull(iZzclase)) entity.Zzclase = dr.GetString(iZzclase);

            int iZzbl = dr.GetOrdinal(this.Zzbl);
            if (!dr.IsDBNull(iZzbl)) entity.Zzbl = dr.GetString(iZzbl);

            int iDisponibilidad = dr.GetOrdinal(this.Disponibilidad);
            if (!dr.IsDBNull(iDisponibilidad)) entity.Disponibilidad = dr.GetString(iDisponibilidad);

            int iEmplazamiento = dr.GetOrdinal(this.Emplazamiento);
            if (!dr.IsDBNull(iEmplazamiento)) entity.Emplazamiento = dr.GetString(iEmplazamiento);

            int iStatus_venta = dr.GetOrdinal(this.Status_venta);
            if (!dr.IsDBNull(iStatus_venta)) entity.Status_venta = dr.GetString(iStatus_venta);

            return entity;
        }


        #region Mapeo de Campos

        public const string Entidad = "Vehiculo";
        public string Vguid = "VGUID";
        public string Vhcle = "VHCLE";
        public string Matnr = "MATNR";
        public string Equnr = "EQUNR";
        public string Werks = "WERKS";
        public string Lgort = "LGORT";
        public string Mmsta = "MMSTA";
        public string Sdsta = "SDSTA";
        public string Kunnr = "KUNNR";
        public string Vhvin = "VHVIN";
        public string Vhcex = "VHCEX";
        public string Avail = "AVAIL";
        public string Vblty = "VBLTY";
        public string Loctn = "LOCTN";
        public string Vhusg = "VHUSG";
        public string Cmpgn = "CMPGN";
        public string ZzfechaArribo = "ZZFECHA_ARRIBO";
        public string ZzfechaEmbarque = "ZZFECHA_EMBARQUE";
        public string ZzreferenciaEmb = "ZZREFERENCIA_EMB";
        public string ZzfecEmbarqEst = "ZZFEC_EMBARQ_EST";
        public string ZzfecArriboEst = "ZZFEC_ARRIBO_EST";
        public string Zzcolor = "ZZCOLOR";
        public string ZzcolorDesc = "ZZCOLOR_DESC";
        public string Zzpais = "ZZPAIS";
        public string ZzpaisDesc = "ZZPAIS_DESC";
        public string Zzanofab = "ZZANOFAB";
        public string ZzdepNumPedido = "ZZDEP_NUM_PEDIDO";
        public string Zzfecpdepnum = "ZZFECPDEPNUM";
        public string Zzdepfecguiain = "ZZDEPFECGUIAIN";
        public string Zzfecduanum = "ZZFECDUANUM";
        public string Zzdepcodageadu = "ZZDEPCODAGEADU";
        public string Zzmotor = "ZZMOTOR";
        public string Zzcaja = "ZZCAJA";
        public string Zzcategoria = "ZZCATEGORIA";
        public string Zzmarca = "ZZMARCA";
        public string Zzversion = "ZZVERSION";
        public string ZzanoModelo = "ZZANO_MODELO";
        public string Zzcombustible = "ZZCOMBUSTIBLE";
        public string Zzcilindrada = "ZZCILINDRADA";
        public string ZzforRodante = "ZZFOR_RODANTE";
        public string Zzlongitud = "ZZLONGITUD";
        public string Zzancho = "ZZANCHO";
        public string Zzaltura = "ZZALTURA";
        public string ZzpesoNeto = "ZZPESO_NETO";
        public string ZznumAsiento = "ZZNUM_ASIENTO";
        public string ZznumPasajero = "ZZNUM_PASAJERO";
        public string ZztipCarrocer = "ZZTIP_CARROCER";
        public string Zzpotencia = "ZZPOTENCIA";
        public string ZznumRuedas = "ZZNUM_RUEDAS";
        public string ZzpesoBruto = "ZZPESO_BRUTO";
        public string ZzcargaUtil = "ZZCARGA_UTIL";
        public string ZzworkOrder = "ZZWORK_ORDER";
        public string ZznumCilindro = "ZZNUM_CILINDRO";
        public string Zzmodelo = "ZZMODELO";
        public string ZzmarcaCarroc = "ZZMARCA_CARROC";
        public string Zztransmision = "ZZTRANSMISION";
        public string Zzitem = "ZZITEM";
        public string Zzclase = "ZZCLASE";
        public string Zzbl = "ZZBL";
        public string Emplazamiento = "emplazamiento";
        public string Disponibilidad = "disponibilidad";
        public string Status_venta = "status_venta";

        #endregion
    }
}
